#pragma once


#include <Eigen/Geometry>
#include "VectorTypes.h"

namespace SL
{

namespace math
{

using Quaternionf = Eigen::Quaternionf;
using AngleAxisf = Eigen::AngleAxisf;

// Helper function to create a quaternion from two vectors
inline Quaternionf quatFromTwoVectors(const float3& a, const float3& b)
{
	return Eigen::Quaternionf::FromTwoVectors(a, b);
}

}

using Quaternion = math::Quaternionf;
using AngleAxis = math::AngleAxisf;

} // namespace SL
